22 research outputs found
A Distributed Operational Semantics for a Parallel Functional Language
We present an operational semantics for a functional parallel language with explicit process creation and implicit message-passing communication. The semantics is based on a distributed memory model and is effective for investigating the interplay between laziness and eagerness in the language, as well as for measuring speculative parallelism
Continutation Semantics for Parallel Haskell Dialects.
The aim of the present work is to compare, from a formal semantic
basis, the different approaches to the parallelization of functional programming languages. For this purpose, we define a continuation semantics model which allows us to deal with side-effects and parallelism.
To verify the suitability of our model we have applied it to three programming languages that introduce parallelism in very different ways, but whose common functional kernel is the lazy functional language Haskell
Relating function spaces to resourced function spaces.
In order to prove the computational adequacy of the (operational)natural semantics for lazy evaluation with respect to a standard denotational semantics, Launchbury defines a resourced denotational semantics. This should be equivalent to the standard one when given infinite resources, but this fact cannot be so directly established, because each semantics produces values in a different domain. The values obtained by the standard semantics belong to the usual lifted function space D = [D → D]⊥, while those produced by the resourced semantics belong to [C → E] where E satisfies the equation E = [[C → E] → [C → E]]⊥ and C (the domain of resources) is a countable chain domain defined as the least solution of the domain equation C = C⊥.
We propose a way to relate functional values in the standard
lifted function space to functional values in the corresponding resourced function space. We first construct the initial solution for the domain equation E = [[C → E] →
[C → E]]⊥ following Abramsky’s construction of the initial
solution of D = [D → D]⊥. Then we define a “similarity”
relation between values in the constructed domain and values
in the standard lifted function space. This relation is
inspired by Abramsky’s applicative bisimulation.
Finally we prove the desired equivalence between the standard denotational semantics and the resourced semantics for the lazy λ-calculus
Rule Formats for Nominal Process Calculi
The nominal transition systems (NTSs) of Parrow et al. describe the
operational semantics of nominal process calculi. We study NTSs in terms of the
nominal residual transition systems (NRTSs) that we introduce. We provide rule
formats for the specifications of NRTSs that ensure that the associated NRTS is
an NTS and apply them to the operational specifications of the early and late
pi-calculus. We also explore alternative specifications of the NTSs in which we
allow residuals of abstraction sort, and introduce translations between the
systems with and without residuals of abstraction sort. Our study stems from
the Nominal SOS of Cimini et al. and from earlier works in nominal sets and
nominal logic by Gabbay, Pitts and their collaborators
Back-track to the future, una experiencia de gamificación en la universidad
A pesar de nuestros esfuerzos como docentes para desarrollar material y herramientas que sean útiles para el aprendizaje de nuestros alumnos, venimos observando desmotivación por parte de los estudiantes hacia las asignaturas que impartimos. Algunos se limitan a hacer lo imprescindible para aprobar la asignatura y muchos otros abandonan ante el esfuerzo que les supone utilizar dichas herramientas. En el presente artículo presentamos nuestra experiencia al utilizar técnicas de gamificación para motivar a alumnos de segundo curso de grado universitario en el aprendizaje de asignaturas relacionadas con la programación de algoritmos.Despite our efforts as teachers to develop material and tools which are useful for our students to learn, we observe a great demotivation from them towards the subjects we teach. Some students just do the minimum to pass the course, and many others abandon due to the effort involved in using these tools. In this article we present our experience using gamification techniques to motivate second-year university students to learn subjects related to algorithm programming
Actualización y optimización del sistema de seguimiento de egresados de la Facultad de Ciencias Matemáticas y su aplicación en la mejora de la calidad de los títulos
Resumen del proyecto PIMCD 232 (2017) que presenta el diseño y uso de un sistema de seguimiento de egresados en la Facultad de Matemáticas para análisis de empleabilidad así como para información que valga para la mejora de las titulaciones
Metodología para la creación y gestión de un sistema de seguimiento de egresados de la Facultad de Ciencias Matemáticas y su aplicación en la mejora de los títulos
Fac. de Ciencias MatemáticasFALSEUCMsubmitte
La gamificación en la educación universitaria: aplicación a asignaturas de programación
Informe sobre la experiencia de aplicar técnicas de gamificación en la asignatura “Estructura de Datos y Algoritmos”, obligatoria de 2º curso en los grados impartidos en la Facultad de Informática de la UCM
Dealing Denotationally With Stream-based Communication
We define a denotational semantics for a kernel-calculus of the parallel functional language Eden.
We choose continuations to deal with side-effects (process creation and communication) in a lazy context. The calculus includes streams for communication, and their modelization by a denotational semantics is not direct because a stream may be infinite
An Operational Semantics for the Parallel Language Eden.
The functional parallel language Eden — suitable for the description of parallel and concurrent algorithms in a distributed setting — is an extension of Haskell with a set of coordination features. In this paper we present a formal operational semantics for the kernel of Eden, or more precisely, for a λ-calculus widened with explicit parallelism and potentially infinite communication channels. Eden overrides the lazy nature of Haskell on behalf of parallelism. This interplay between laziness and eagerness is accurately described by the semantics proposed here, which is based on Launchbury's natural semantics for lazy evaluation, and is expressed through a two-level transition system: a lower level for the local and independent evaluation of each process, and an upper one for the coordination between all the parallel processes in the system. As processes are created either under demand or in a speculative way, different scheduling strategies are possible — ranging from a minimal one that only allows the main thread to evolve, to a maximal one that evolves in parallel every active binding